#ifndef ADEXCEPTION_H
#define ADEXCEPTION_H

#include <exception>

using namespace std;

class ADException : public exception {
public:
	virtual const char* what() const throw() = 0;
};

class WrongDayException : public ADException {
public:
	const char* what() const throw() { return "Error : Wrong day index";}

};

class IntersectingAppointmentsException : public ADException {
public:	
	const char* what() const throw() { return "Error : Appointment intersects with other one";	}

};

class WrongMeetingHoursException : public ADException {
public:
	const char* what() const throw() { return "Error : End time less or equals start time!";	}

};

class InvalidTimeException : public ADException {
public:
	const char* what() const throw() { return "Error : Invalid time format!";	}

};

class IllegalCopyException : public ADException {
public:
	const char* what() const throw() { return "Error : Illegal copy, destination exceeds 24 hours time window!";	}

};

#endif